Fields in Interfaces
The answer is language-specific. In Java, interface fields are implicitly public, static and final, so they represent constants rather than per-object mutable state. Java interfaces cannot define ordinary instance fields. In C#, interfaces traditionally did not contain instance fields either; newer language features have expanded what interfaces can express, but they still are not a mechanism for storing ordinary per-instance object state. If an abstraction needs mutable instance state, an abstract class or composition is generally more appropriate.
Java interface fields are implicitly public, static and final.
They are constants, not per-object mutable state.
Interfaces are primarily contracts rather than state containers.
C# interface capabilities differ by language version, but interfaces are not intended as ordinary instance-state holders.
Use a class or abstract class when shared instance state is part of the abstraction.